///**
// *
// * \file GPS.c
// * @author        Andreas Schlueter
// */
//
//#include "GPS.h"
//
///////////////////////////Prototypes
//interrupt(NOVECTOR) serial_rec();
//
//
//
//////////////////////////Globals
//volatile uint8_t serial_buf1[SERIAL_BUFSIZE]; // The serial ISR writes bytes into this buffer.
//volatile uint8_t serial_buf2[SERIAL_BUFSIZE];
//volatile uint8_t* serial_line;
//volatile uint8_t* buf;
//volatile uint8_t size;
//volatile int serial_pos; // Current position in receive buffer ::serial_buffer.
//
//
//
//
//
///**
// * initializes GPS Ports
// */
//bool GPS_init(){
//  //do{ P5OUT &= ~0x80; }while(0);//red on */
//
//  SET_ISR(UART1RX_VECTOR, serial_rec);
//  //P1DIR &= ~0x03;   //GPS Buttons INPUT
//  P4DIR |= 0x03;   //GPS Power + LED OUTPUT
//  Comm_init(BPS_38400);
//
//  GPS_ON;
//  GPS_LED_OFF;
//
//  size=0;
//  buf         = serial_buf1;
//  serial_line = serial_buf2;
//  serial_pos = 0;
//
//  //rts_port = &P1IN;
//  //cts_port = &P1OUT;
//  //do{ P5OUT |=  0x80; }while(0); //red off */
//  //Comm_print("| GPS on.\r\n");
//  return True;
//}
//
//
//
//// Serial ISR-Routine for receiving bytes.
//uint8_t state;
//interrupt(NOVECTOR) serial_rec() {
//  
//  GPS_LED_ON;
//    
//  uint8_t temp = RXBUF1;
//  if(temp=='\r') return;    // filter out carriage returns
//  if(temp=='\n') {          // line is complete
//    //SERIAL_STOP;            // set CTS to 1 to stop receiving bytes
//    buf[serial_pos] = '\0'; // terminate
//    if(buf==serial_buf1) {
//      buf         = serial_buf2;
//      serial_line = serial_buf1;
//    }
//    else{
//      buf         = serial_buf1;
//      serial_line = serial_buf2;
//    }
//    //WAKEUPLPM1(MF_SERIAL);
//    size = serial_pos+1;
//    serial_pos = 0;
//
//    //send gps line:
//    netpacket_send_args_t npsargs;
//    
//    // fill structure with default values
//    Net_sendArgsInit( &npsargs );
//    
//    // fill network header custom values
//    npsargs.netheader.to = 38;						// receiver's address
//    npsargs.netheader.type = 100;// application protocol
//    
//    // queue packet for sending
//    Net_send( &npsargs );
//    //define a packet
//    packet_t p;
//    // fill the packet
//    p.to = 38;
//    p.from = Configuration.id;
//    p.type = 100;
//    p.header = 0;
//    p.header_length = 0;
//    p.data = (uint8_t*) serial_line;
//    p.data_length = size;
//    // sends a packet
//    Net_send(&p, NULL);
//
//    GPS_LED_OFF;
//  }
//  else {
//    if(temp=='\b') {
//      if(serial_pos>0) serial_pos--; // backspace
//      size--;
//    }
//    else { // write byte into buf
//      if(serial_pos==SERIAL_BUFSIZE) return;   // don't write anymore if buffer is full
//      buf[serial_pos++]=temp;
//      size++;
//    }
//  }
//  
//}
//
